<?php

namespace app\admin\controller;

use think\Controller;
use think\Db;
use think\Request;
use think\Session;


class Index extends Controller
{
    /**
     * 后台登录页面
     * @return \think\response\View
     */
    public function index()
    {
        return view('admin@index/login');
    }

    /**
     * 后台登录处理
     * @return \think\response\View
     */
    public function logindo(Request $request)
    {
//        接受到登录的post
        $p = $request->post();
//        dump($p);

        //判断xu_user 数据库是否存在该数据
        $rows = Db::name('xu_user')
            ->where('pwd', $p['pwd'])
            ->where('name', $p['name'])
            ->select();

        if (!empty($rows)) {
            //查出当前用户id
            $uid = Db::field('id')
                ->table('xu_user')
                ->where('name', $p['name'])
                ->find();
//   dump($uid);
//            die;

            //查询5张表   对应当前用户的 权限的 id
            $list = Db::field(['a.id' => 'aid',])
                ->table(['xu_user' => 'u', 'xu_role' => 'r', 'xu_user_role' => 'ur',
                    'xu_authority' => 'a', 'xu_role_authority' => 'ra'])
                ->where('uid=' . $uid['id'])
                ->where('u.id=ur.uid')
                ->where('r.id=ur.rid')
                ->where('ur.rid=ra.rid')
                ->where('ra.aid=a.id')
                ->select();
//            dump($list);
            //然后存储 session 中
//   dump(Session::get());
            $arr = [];
            foreach ($list as $k => $v) {
                $arr[] = $v['aid'];
            }
            $arr = array_unique($arr);
            $auth = Session::get('auth');
            $auth['aid'] = $arr;
            //  Session::clear();
//            dump($arr);
//            dump($auth);
            Session::set('auth', [
                'name' => $p['name'],
                'pwd' => $p['pwd'],
                'aid'=>$arr
            ]);

//            die;
            $this->redirect('admin/main/index');
        } else {
            return $this->error('登录失败');
        }


    }

    /**
     * 后台登出处理
     * @return \think\response\View
     */
    public
    function logout()
    {
        $this->redirect('admin/index/index');
    }

}
